/**
 * Copyright  (c) 2009-2013 XLab,  Org. 
 * All  rights  reserved. 
 */
package org.xlab.baseframework.domain.view;

import org.xlab.baseframework.domain.ILogicalRemoveSupportedDomain;
import org.xlab.baseframework.domain.IVersionControlSupportedDomain;
import org.xlab.baseframework.domain.enumerate.EnumDeletedIndentifying;

/**
 * 抽象的支持版本控制普通的只读实体对象,所有支持版本控制的普通只读实体应当继承自本类
 * 
 * @author MaKuBEX Email:makubexnet@gmail.com
 * @version 1.0.0 Sep 9, 2010
 * @since 1.0.0
 * 
 */
public abstract class AbstractLogicalVersionControlViewObject<T extends IVersionControlSupportedDomain>
		extends AbstractNormalViewObject<T> implements
		IViewDomainObject<T>, IVersionControlSupportedDomain,
		ILogicalRemoveSupportedDomain {

	/**
	 * @serialField
	 */
	private static final long serialVersionUID = 6738488120368354052L;

	protected Integer version;
	protected EnumDeletedIndentifying deletedInd;

	/**
	 * 空构造函数
	 */
	public AbstractLogicalVersionControlViewObject() {
		super();
	}

	/**
	 * 默认构造函数
	 * 
	 * @param pojo
	 *            实体对象
	 */
	public AbstractLogicalVersionControlViewObject(T pojo) {
		super(pojo);
	}

	/**
	 * @return the deletedInd
	 */
	public EnumDeletedIndentifying getDeletedInd() {
		return deletedInd;
	}

	/**
	 * @return the version
	 */
	public Integer getVersion() {
		return version;
	}

	/**
	 * @param deletedInd
	 *            the deletedInd to set
	 */
	public void setDeletedInd(EnumDeletedIndentifying deletedInd) {
		this.deletedInd = deletedInd;
	}

	/**
	 * @param version
	 *            the version to set
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}
}
